package com.panda.web.entity.order;

import java.math.BigDecimal;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.panda.common.annotation.Excel;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

/**
 * 微信支付订单对象 wechat_order
 *
 * @author cpanda
 * @date 2025-02-27
 */
@Data
//@JsonInclude(JsonInclude.Include.NON_NULL)
@TableName(value = "wechat_order")
public class WechatOrder {
    private static final long serialVersionUID = 1L;


    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @Excel(name = "系统订单号")
    private String orderId;
    private String orderName;//订单名称

    @Excel(name = "商户订单号")
    private String outTradeNo;

    @Excel(name = "微信支付订单号")
    private String transactionId;

    @Excel(name = "用户openid")
    private String openid;
    private String nickName;//用户昵称

    private BigDecimal totalFee;

    private String tradeType;

    @Excel(name = "支付状态")
    private String payStatus;

    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date payTime;

    @Excel(name = "微信支付通知原始数据")
    private String notifyData;

    @Excel(name = "退款状态")
    private String refundStatus;


    private String refundTime;

    private String refundOrderId;
    private BigDecimal refundFee; // 退款金额
    private String refundReason; // 退款原因
    private Date createTime;

    private Long productId;//产品id
    private String productName;//产品名称

    private String refundId;//微信退款单号
    private String userReceivedAccount;//微信退还位置
    private String successTime;//退款成功时间
    private String orderType;//订单类型 0自主购买，1手动添加  无法退款
    private String miniOffType;//0公众号，1小程序
    private Integer orderCount;//购买数量
}
